package com.youzan.open.sdk.gen.v3_0_0.model;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.youzan.open.sdk.model.APIParams;
import com.youzan.open.sdk.model.ByteWrapper;
import com.youzan.open.sdk.model.FileParams;
import java.util.List;
import java.util.Map;
import java.util.Date;

public class YouzanDatacenterPspagesourceDataFetchParams implements APIParams, FileParams  {

    /**
     * 追踪信息集合
     */
    private String dcpsList;
    /**
     * 查询结束时间
     */
    private Date endDay;
    /**
     * 当前第几页
     */
    private Long page;
    /**
     * 页面条数，size最高设置200个
     */
    private Long pageSize;
    /**
     * 查询开始时间
     */
    private Date startDay;

    public void setDcpsList(String dcpsList) {
        this.dcpsList = dcpsList;
    }

    public String getDcpsList() {
        return this.dcpsList;
    }

    public void setEndDay(Date endDay) {
        this.endDay = endDay;
    }

    public Date getEndDay() {
        return this.endDay;
    }

    public void setPage(Long page) {
        this.page = page;
    }

    public Long getPage() {
        return this.page;
    }

    public void setPageSize(Long pageSize) {
        this.pageSize = pageSize;
    }

    public Long getPageSize() {
        return this.pageSize;
    }

    public void setStartDay(Date startDay) {
        this.startDay = startDay;
    }

    public Date getStartDay() {
        return this.startDay;
    }


    public Map<String, Object> toParams() {
        Map<String, Object> params = Maps.newHashMap();
        if (dcpsList != null) {
            params.put("dcps_list", dcpsList);
        }
        if (endDay != null) {
            params.put("end_day", endDay);
        }
        if (page != null) {
            params.put("page", page);
        }
        if (pageSize != null) {
            params.put("page_size", pageSize);
        }
        if (startDay != null) {
            params.put("start_day", startDay);
        }
        return params;
    }

    public Multimap<String, ByteWrapper> toFileParams() {
        Multimap<String, ByteWrapper> params = ArrayListMultimap.create();

            return params;
    }


}